In a communication system, unnecessary and excessive transmission by a user may cause interference for other users in addition to reducing the system capacity. The unnecessary and excessive transmission may be caused by inefficient flow of data in the communication system. The data communicated between two end users may pass through several layers of protocols for assuring proper flow of data through the system. The proper delivery of data in at least one aspect is assured through a system of checking for error in each packet of data, and requesting a retransmission of the same packet of data if an unacceptable error is detected in the packet of data. Passing data from one protocol layer to another may be performed for a group of data packets at a time. The group of data packets may include several messages. The missing packet(s) may belong to one of the messages. Therefore, some messages in the group of data packets may have arrived completely. As a result, the retransmission process for missing packets may delay passing the completed messages.
To this end as well as others, there is a need for a method and apparatus to efficiently control the flow of data in a communication system.